home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 46 / Amiga Format CD46 (1999-10-20)(Future Publishing)(GB)[!][issue 1999-12].iso / -in_the_mag- / reader_requests / scilab / demos / bike / macros / velo3.sci < prev    next >
Text File  |  1999-09-16  |  1KB  |  46 lines

  1. function []=velo3()
  2. // Version roues a rayons ( qui tournent avec la roue !)
  3. // la formule donnant l'angle de rotation est sans doute fausse
  4. // j'ai suppose que la roue tournait avec la
  5. // vitesse angulaire xx(6,i) pour la roue rear
  6. // et que le temps d'integration etait de 1
  7. // => theta (i) = xx(6,i)*i/imax
  8. ct=-cos(t);cp=cos(p);st=-sin(t);sp=sin(p);
  9.   xe=[xmin,xmax,xmax,xmin,xmin]
  10.   ye=[ymin,ymin,ymax,ymax,ymin]
  11.   box=[ xe,xe; ye,ye ; zmin*ones(1,5),zmax*ones(1,5)];
  12.   all=[ct -st 0; cp*st  cp*ct sp]*box
  13.   //Bounds of window
  14.   xmax=maxi(all(1,:));xmin=mini(all(1,:));
  15.   ymax=maxi(all(2,:));ymin=mini(all(2,:));
  16.   dx=0;dy=0;
  17.   xb=[xmin-dx,xmax+dx]
  18.   yb=[ymin-dy,ymax+dy]
  19.  
  20. //Window definition
  21.     isoview(xb(1),xb(2),yb(1),yb(2))
  22.     plot2d(all(1,1:5)',all(2,1:5)',[-1,1],"000")
  23. // ground trajectory
  24.  
  25. //plot2d((ct*xprear(1,:)-st*xprear(2,:))',...
  26. //     (cp*(st*xprear(1,:)+ct*xprear(2,:))+sp*xprear(3,:))',...
  27. //     [-1,1],"000");
  28.  
  29. //plot2d((ct*xpfront(1,:)-st*xpfront(2,:))',...
  30. //     (cp*(st*xpfront(1,:)+ct*xpfront(2,:))+sp*xpfront(3,:))',...
  31. //     [-1,1],"000");
  32.  
  33. [n1,n2]=size(xfrontar);
  34. xset("alufunction",6)
  35. for i=1:n2-1,velod(i);velod(i);
  36. ww=i:i+1;
  37. plot2d((ct*xprear(1,ww)-st*xprear(2,ww))',...
  38.      (cp*(st*xprear(1,ww)+ct*xprear(2,ww))+sp*xprear(3,ww))',...
  39.      [-1,1],"000");
  40. plot2d((ct*xpfront(1,ww)-st*xpfront(2,ww))',...
  41.      (cp*(st*xpfront(1,ww)+ct*xpfront(2,ww))+sp*xpfront(3,ww))',...
  42.      [-1,1],"000");
  43. end
  44. velod(n2-1);
  45. xset("alufunction",3);
  46.